perm filename UTILS[1,3]2 blob sn#010689 filedate 1972-11-06 generic text, type T, neo UTF8
(LAP PRELIST SUBR) 
	(PUSH P 1) 
	(PUSH P 2) 
	(MOVEI 2 (QUOTE 1)) 
	(MOVE 1 0 P) 
	(CALL 2 (E *LESS)) 
	(JUMPN 1 TAG3) 
	(MOVE 1 -1 P) 
	(JUMPN 1 TAG2) 
TAG3 	(MOVEI 1 (QUOTE NIL)) 
	(JRST 0 TAG1) 
TAG2 	(HRRZ@ 1 -1 P) 
	(PUSH P 1) 
	(HLRZ@ 1 -2 P) 
	(PUSH P 1) 
	(MOVE 1 -2 P) 
	(CALL 1 (E SUB1)) 
	(MOVE 2 1) 
	(EXCH 1 -1 P) 
	(CALL 2 (E PRELIST)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(SUB P (C 0 0 1 1)) 
TAG4 
TAG1 	(SUB P (C 0 0 2 2)) 
	(POPJ P) 
	NIL 

(LAP SUFLIST SUBR) 
	(PUSH P 1) 
	(PUSH P 2) 
	(MOVEI 2 (QUOTE 1)) 
	(MOVE 1 0 P) 
	(CALL 2 (E *LESS)) 
	(JUMPN 1 TAG3) 
	(MOVE 1 -1 P) 
	(JUMPN 1 TAG2) 
TAG3 	(MOVE 1 -1 P) 
	(JRST 0 TAG1) 
TAG2 	(HRRZ@ 1 -1 P) 
	(PUSH P 1) 
	(MOVE 1 -1 P) 
	(CALL 1 (E SUB1)) 
	(MOVE 2 1) 
	(POP P 1) 
	(CALL 2 (E SUFLIST)) 
TAG4 
TAG1 	(SUB P (C 0 0 2 2)) 
	(POPJ P) 
	NIL 

(LAP STR SUBR) 
	(CALL 1 (E EXPLODEC)) 
	(PUSH P 1) 
	(MOVEI 1 (QUOTE /")) 
	(CALL 1 (E NCONS)) 
	(MOVE 2 1) 
	(POP P 1) 
	(CALL 2 (E *APPEND)) 
	(MOVEI 2 (QUOTE /")) 
	(CALL 2 (E XCONS)) 
	(JCALL 1 (E READLIST)) 
	NIL 

(LAP STRP SUBR) 
	(CALL 1 (E EXPLODE)) 
	(HLRZ@ 2 1) 
	(CAIE 2 (QUOTE /")) 
	(TDZA 1 1) 
	(MOVEI 1 (QUOTE T)) 
	(POPJ P) 
	NIL 

(LAP STRLEN SUBR) 
	(CALL 1 (E EXPLODEC)) 
	(JCALL 1 (E LENGTH)) 
	NIL 

(LAP AT SUBR) 
	(CALL 1 (E EXPLODEC)) 
	(JCALL 1 (E READLIST)) 
	NIL 

(LAP CAT SUBR) 
	(PUSH P 2) 
	(CALL 1 (E EXPLODEC)) 
	(EXCH 1 0 P) 
	(CALL 1 (E EXPLODEC)) 
	(PUSH P 1) 
	(MOVEI 1 (QUOTE /")) 
	(CALL 1 (E NCONS)) 
	(MOVE 2 1) 
	(POP P 1) 
	(CALL 2 (E *APPEND)) 
	(MOVE 2 1) 
	(POP P 1) 
	(CALL 2 (E *APPEND)) 
	(MOVEI 2 (QUOTE /")) 
	(CALL 2 (E XCONS)) 
	(JCALL 1 (E READLIST)) 
	NIL 

(LAP SEQ SUBR) 
	(PUSH P 2) 
	(CALL 1 (E EXPLODEC)) 
	(EXCH 1 0 P) 
	(CALL 1 (E EXPLODEC)) 
	(POP P 2) 
	(JCALL 2 (E EQUAL)) 
	NIL 

(LAP SUBSTR SUBR) 
	(PUSH P 1) 
	(PUSH P 2) 
	(PUSH P 3) 
	(MOVE 1 3) 
	(CALL 1 (E NUMBERP)) 
	(JUMPE 1 TAG2) 
	(MOVE 1 -2 P) 
	(CALL 1 (E EXPLODEC)) 
	(PUSH P 1) 
	(MOVE 1 -2 P) 
	(CALL 1 (E SUB1)) 
	(MOVE 2 1) 
	(POP P 1) 
	(CALL 2 (E SUFLIST)) 
	(MOVE 2 0 P) 
	(CALL 2 (E PRELIST)) 
	(JRST 0 TAG1) 
TAG2 	(MOVE 1 -2 P) 
	(CALL 1 (E EXPLODEC)) 
	(PUSH P 1) 
	(MOVE 1 -2 P) 
	(CALL 1 (E SUB1)) 
	(MOVE 2 1) 
	(POP P 1) 
	(CALL 2 (E SUFLIST)) 
TAG3 
TAG1 	(MOVEM 1 -2 P) 
	(MOVEI 1 (QUOTE /")) 
	(CALL 1 (E NCONS)) 
	(MOVE 2 1) 
	(EXCH 1 -2 P) 
	(CALL 2 (E *APPEND)) 
	(MOVEI 2 (QUOTE /")) 
	(CALL 2 (E XCONS)) 
	(SUB P (C 0 0 3 3)) 
	(JCALL 1 (E READLIST)) 
	NIL 

(LAP PRINTSTR SUBR) 
	(CALL 1 (E PRINC)) 
	(JCALL 1 (E TERPRI)) 
	NIL 

(LAP NEQ SUBR) 
	(PUSH P 1) 
	(PUSH P 2) 
	(CAME 1 2) 
	(JRST 0 TAG1) 
	(TDZA 1 1) 
TAG1 	(MOVEI 1 (QUOTE T)) 
	(SUB P (C 0 0 2 2)) 
	(POPJ P) 
	NIL 

(LAP NEQUAL SUBR) 
	(CALL 2 (E EQUAL)) 
	(JUMPE 1 TAG1) 
	(TDZA 1 1) 
TAG1 	(MOVEI 1 (QUOTE T)) 
	(POPJ P) 
	NIL 

(LAP LEQUAL SUBR) 
	(CALL 2 (E *GREAT)) 
	(JUMPE 1 TAG1) 
	(TDZA 1 1) 
TAG1 	(MOVEI 1 (QUOTE T)) 
	(POPJ P) 
	NIL 

(LAP GEQUAL SUBR) 
	(CALL 2 (E *LESS)) 
	(JUMPE 1 TAG1) 
	(TDZA 1 1) 
TAG1 	(MOVEI 1 (QUOTE T)) 
	(POPJ P) 
	NIL 

(LAP &VECTOR SUBR) 
	(PUSH P 1) 
	(PUSH P 2) 
	(PUSH P 3) 
	(PUSH P 4) 
	(JUMPE 1 TAG3) 
	(JUMPE 3 TAG5) 
	(MOVE 1 3) 
	(CALL 1 (E ATOM)) 
	(JUMPE 1 TAG5) 
	(MOVE 1 -1 P) 
	(CALLF@ 1 -2 P) 
	(JRST 0 TAG4) 
TAG5 	(MOVE 2 -1 P) 
	(MOVE 1 -2 P) 
	(CALL 2 (E MAPCAR)) 
TAG7 
TAG4 	(JRST 0 TAG2) 
TAG3 	(JSP 6 SPECBIND) 
	(0 0 (SPECIAL &X&)) 
	(0 0 (SPECIAL &Y&)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(MOVE 1 -6 P) 
	(CALL 1 (E ATOM)) 
	(JUMPE 1 TAG17) 
	(MOVE 1 -6 P) 
	(MOVEM 1 (SPECIAL &X&)) 
	(JUMPN 1 TAG16) 
TAG17 	(TDZA 1 1) 
TAG16 	(MOVEI 1 (QUOTE T)) 
	(MOVEM 1 -2 P) 
	(MOVE 1 -5 P) 
	(CALL 1 (E ATOM)) 
	(JUMPE 1 TAG21) 
	(MOVE 1 -5 P) 
	(MOVEM 1 (SPECIAL &Y&)) 
	(JUMPN 1 TAG20) 
TAG21 	(TDZA 1 1) 
TAG20 	(MOVEI 1 (QUOTE T)) 
	(MOVEM 1 -3 P) 
	(MOVEI 1 (QUOTE &Y&)) 
	(CALL 1 (E NCONS)) 
	(MOVEI 2 (QUOTE &X&)) 
	(CALL 2 (E XCONS)) 
	(MOVE 2 -7 P) 
	(CALL 2 (E XCONS)) 
	(MOVEM 1 -4 P) 
	(MOVE 1 -2 P) 
	(JUMPE 1 TAG23) 
	(MOVE 1 -3 P) 
	(JUMPE 1 TAG23) 
	(MOVE 1 -4 P) 
	(CALL 1 (E *EVAL)) 
	(JRST 0 TAG13) 
TAG23 	(MOVEI 1 (QUOTE NIL)) 
	(CALL 1 (E NCONS)) 
	(MOVEM 1 -1 P) 
	(MOVEM 1 0 P) 
TAG1 	(MOVE 1 -6 P) 
	(JUMPE 1 TAG27) 
	(MOVE 1 -5 P) 
	(JUMPN 1 TAG26) 
TAG27 	(HRRZ@ 1 0 P) 
	(JRST 0 TAG13) 
TAG26 	(MOVE 1 -2 P) 
	(JUMPN 1 TAG30) 
	(HLRZ@ 1 -6 P) 
	(MOVEM 1 (SPECIAL &X&)) 
	(HRRZ@ 1 -6 P) 
	(MOVEM 1 -6 P) 
	(JUMPN 1 TAG30) 
TAG30 	(MOVE 1 -3 P) 
	(JUMPN 1 TAG32) 
	(HLRZ@ 1 -5 P) 
	(MOVEM 1 (SPECIAL &Y&)) 
	(HRRZ@ 1 -5 P) 
	(MOVEM 1 -5 P) 
	(JUMPN 1 TAG32) 
TAG32 	(MOVE 1 -4 P) 
	(CALL 1 (E *EVAL)) 
	(CALL 1 (E NCONS)) 
	(HRRM@ 1 -1 P) 
	(HRRZ@ 1 -1 P) 
	(MOVEM 1 -1 P) 
	(JRST 0 TAG1) 
TAG13 	(PUSHJ P SPECSTR) 
	(SUB P (C 0 0 5 5)) 
TAG11 
TAG2 	(SUB P (C 0 0 4 4)) 
	(POPJ P) 
	NIL 

(LAP &REPLACE SUBR) 
	(PUSH P 1) 
	(PUSH P 2) 
	(PUSH P 3) 
	(JUMPE 2 TAG2) 
	(MOVEI 5 (QUOTE 1)) 
	(HLRZ@ 4 2) 
	(CALL 5 (E &REP1)) 
	(JRST 0 TAG1) 
TAG2 	(MOVE 1 0 P) 
TAG3 
TAG1 	(SUB P (C 0 0 3 3)) 
	(POPJ P) 
	NIL 

(LAP &REP1 SUBR) 
	(PUSH P 1) 
	(PUSH P 2) 
	(PUSH P 3) 
	(PUSH P 4) 
	(PUSH P 5) 
	(CALL 1 (E ATOM)) 
	(JUMPE 1 TAG2) 
	(MOVE 2 5) 
	(MOVE 1 4) 
	(CALL 2 (E EQUAL)) 
	(JUMPE 1 TAG4) 
	(MOVE 3 -2 P) 
	(HRRZ@ 2 -3 P) 
	(MOVEI 1 (QUOTE NIL)) 
	(CALL 3 (E &REPLACE)) 
	(CALL 1 (E NCONS)) 
	(JRST 0 TAG3) 
TAG4 	(MOVE 1 0 P) 
	(CALL 1 (E ADD1)) 
	(MOVE 5 1) 
	(MOVE 4 -1 P) 
	(MOVE 3 -2 P) 
	(MOVE 2 -3 P) 
	(MOVEI 1 (QUOTE NIL)) 
	(CALL 5 (E &REP1)) 
	(MOVEI 2 (QUOTE NIL)) 
	(CALL 2 (E XCONS)) 
TAG5 
TAG3 	(JRST 0 TAG1) 
TAG2 	(MOVE 2 5) 
	(MOVE 1 4) 
	(CALL 2 (E EQUAL)) 
	(JUMPE 1 TAG7) 
	(MOVE 3 -2 P) 
	(HRRZ@ 2 -3 P) 
	(HLRZ@ 1 -4 P) 
	(CALL 3 (E &REPLACE)) 
	(HRRZ@ 2 -4 P) 
	(CALL 2 (E CONS)) 
	(JRST 0 TAG1) 
TAG7 	(HRRZ@ 1 -4 P) 
	(PUSH P 1) 
	(HLRZ@ 1 -5 P) 
	(PUSH P 1) 
	(MOVE 1 -2 P) 
	(CALL 1 (E ADD1)) 
	(MOVE 5 1) 
	(MOVE 4 -3 P) 
	(MOVE 3 -4 P) 
	(MOVE 2 -5 P) 
	(EXCH 1 -1 P) 
	(CALL 5 (E &REP1)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(SUB P (C 0 0 1 1)) 
TAG10 
TAG1 	(SUB P (C 0 0 5 5)) 
	(POPJ P) 
	NIL 

(LAP &DECOMPOSE SUBR) 
	(MOVEI 3 (QUOTE NIL)) 
	(PUSH P 2) 
	(CALL 3 (E &DEC1)) 
	(POP P 1) 
	(POPJ P) 
	NIL 

(LAP &DEC1 SUBR) 
	(PUSH P 1) 
	(PUSH P 2) 
	(PUSH P 3) 
	(JUMPN 1 TAG2) 
	(JUMPE 2 TAG3) 
	(TDZA 1 1) 
TAG3 	(MOVEI 1 (QUOTE T)) 
	(JRST 0 TAG1) 
TAG2 	(CALL 1 (E ATOM)) 
	(JUMPE 1 TAG4) 
	(MOVE 1 -2 P) 
	(CAIN 1 (QUOTE _)) 
	(JRST 0 TAG5) 
	(CALL 2 (E SET)) 
	(JUMPN 1 TAG5) 
	(JRST 0 TAG5) 
	(TDZA 1 1) 
TAG5 	(MOVEI 1 (QUOTE T)) 
	(JRST 0 TAG1) 
TAG4 	(MOVE 1 2) 
	(CALL 1 (E ATOM)) 
	(JUMPE 1 TAG10) 
	(JUMPN 2 TAG13) 
	(MOVEI 2 (QUOTE (_))) 
	(MOVE 1 -2 P) 
	(CALL 2 (E EQUAL)) 
	(JUMPN 1 TAG11) 
TAG13 	(MOVE 1 -2 P) 
	(CALL 1 (E &SETNIL)) 
	(JUMPN 1 TAG11) 
	(TDZA 1 1) 
TAG11 	(MOVEI 1 (QUOTE T)) 
	(JRST 0 TAG1) 
TAG10 	(HLRZ@ 1 -2 P) 
	(CAIE 1 (QUOTE _)) 
	(JRST 0 TAG14) 
	(MOVEI 3 (QUOTE T)) 
	(HRRZ@ 1 -2 P) 
	(CALL 3 (E &DEC1)) 
	(JUMPN 1 TAG15) 
	(MOVE 3 0 P) 
	(HRRZ@ 2 -1 P) 
	(MOVE 1 -2 P) 
	(CALL 3 (E &DEC1)) 
	(JUMPN 1 TAG15) 
	(TDZA 1 1) 
TAG15 	(MOVEI 1 (QUOTE T)) 
	(JRST 0 TAG1) 
TAG14 	(JUMPE 3 TAG17) 
	(MOVEI 3 (QUOTE T)) 
	(HLRZ@ 2 2) 
	(HLRZ@ 1 -2 P) 
	(CALL 3 (E &DEC1)) 
	(JUMPE 1 TAG21) 
	(MOVEI 3 (QUOTE T)) 
	(HRRZ@ 2 -1 P) 
	(HRRZ@ 1 -2 P) 
	(CALL 3 (E &DEC1)) 
	(JUMPN 1 TAG20) 
TAG21 	(TDZA 1 1) 
TAG20 	(MOVEI 1 (QUOTE T)) 
	(JRST 0 TAG1) 
TAG17 	(MOVEI 3 (QUOTE NIL)) 
	(HLRZ@ 2 -1 P) 
	(HLRZ@ 1 -2 P) 
	(CALL 3 (E &DEC1)) 
	(MOVEM 1 0 P) 
	(MOVEI 3 (QUOTE NIL)) 
	(HRRZ@ 2 -1 P) 
	(HRRZ@ 1 -2 P) 
	(CALL 3 (E &DEC1)) 
	(JUMPE 1 TAG25) 
	(MOVE 1 0 P) 
	(JUMPN 1 TAG24) 
TAG25 	(TDZA 1 1) 
TAG24 	(MOVEI 1 (QUOTE T)) 
TAG22 
TAG1 	(SUB P (C 0 0 3 3)) 
	(POPJ P) 
	NIL 

(LAP &SETNIL SUBR) 
	(PUSH P 1) 
	(JUMPE 1 TAG3) 
	(CAIE 1 (QUOTE _)) 
	(JRST 0 TAG2) 
TAG3 	(MOVEI 1 (QUOTE NIL)) 
	(JRST 0 TAG1) 
TAG2 	(CALL 1 (E ATOM)) 
	(JUMPE 1 TAG4) 
	(MOVEI 2 (QUOTE NIL)) 
	(MOVE 1 0 P) 
	(CALL 2 (E SET)) 
	(JRST 0 TAG1) 
TAG4 	(HLRZ@ 1 0 P) 
	(CALL 1 (E &SETNIL)) 
	(HRRZ@ 1 0 P) 
	(CALL 1 (E &SETNIL)) 
TAG5 
TAG1 	(SUB P (C 0 0 1 1)) 
	(POPJ P) 
	NIL (LAP EXIT SUBR)
(47000 0 12)
NIL

(SETQ QT	(QUOTE /' ))
(SETQ LPAR	(QUOTE /( ))
(SETQ RPAR	(QUOTE /) ))
(SETQ LABR	(QUOTE /< ))
(SETQ RABR	(QUOTE /> ))
(SETQ LSBR	(QUOTE /[ ))
(SETQ RSBR	(QUOTE /] ))
(SETQ DASH	(QUOTE /- ))
(SETQ STAR	(QUOTE /* ))
(SETQ PLUSS	(QUOTE /+ ))
(SETQ SLASH	(QUOTE // ))
(SETQ BLANK	(QUOTE /  ))
(SETQ COLON	(QUOTE /: ))
(SETQ COMMA	(QUOTE /, ))
(SETQ PERIOD	(QUOTE /. ))
(SETQ DOLLAR	(QUOTE /$ ))
(SETQ EQSIGN	(QUOTE /= ))
(SETQ LARROW	(QUOTE /← ))
(SETQ DBQUOTE	(QUOTE /" ))
(SETQ PERCENT	(QUOTE /% ))
(SETQ CIRCLEX	(QUOTE /⊗ ))
(SETQ UNDERBAR	(QUOTE /_ ))
(SETQ SEMICOLON	(QUOTE /; ))

(SETQ TAB	(INTERN (ASCII 11)))
(SETQ LF	(INTERN (ASCII 12)))
(SETQ VT	(INTERN (ASCII 13)))
(SETQ FF	(INTERN (ASCII 14)))
(SETQ CR	(INTERN (ASCII 15)))
(SETQ ALTMODE	(INTERN (ASCII 175)))

(SETQ TRUE T)
(SETQ FALSE (SETQ F NIL))
(SETQ BASE (SETQ IBASE 10.))
(PROG (&UNBOUND&))
(SETQ *NOPOINT T)
(NOUUO NIL)